An ad hoc network is generally formed by a set of wireless mobile nodes or hosts. Communication between two network nodes that are not in direct radio range takes place in a multi-hop fashion, with other nodes acting as routers. Ad hoc networks can be used in military and rescue operations, as well as in meetings where people want to share information quickly.
Recently, the rising popularity of network-based applications among end users and the potential use of ad hoc networks in civilian life have led to research interests in resource sharing in large-scale ad hoc networks. With the rapid increase of available resources and accessing requests, a crucial requirement here is that a resource should be located without excessive overhead and long latency. In addition, providing desirable Quality-of-Service (QoS) is an important design objective. Specifically, when there are multiple/replicated providers for the same resource, the best one should be selected according to some QoS metrics to improve user experience. That is, an efficient and QoS-aware resource discovery system is needed.
Most previous work on resource discovery has focused on fixed-infrastructure networks, specifically, the Internet. However, ad hoc networks have several distinct features that make this more challenging. The most important feature is that the topology of an ad hoc network changes with time. As a result, the design of the routing protocols for ad hoc networks is quite different from that for the Internet. For example, it has been shown that, in this case, re-active (on-demand) routing protocols are usually more efficient and scalable than traditional pro-active (table-driven) protocols. In addition, to be robust in face of topology changes and node failures, applications for an ad hoc network generally prefer distributed and dynamic control mechanisms to centralized and static mechanisms. However, the latter has proven to be efficient for many Internet applications or services, such as the Domain Name System (DNS).
Furthermore, in previous resource discovery systems, the QoS to be delivered to a client is seldom considered. Some systems propose to use client-based probing techniques after discovery. However, probing measures the QoS in a very short period. This is not very effective in mobile ad hoc networks because of the mobility and wireless channel variations. Some discovery standards have been proposed for ad hoc networks, such as the Service Discovery Protocol for Bluetooth. However, they are limited to very small-scale networks, and do not consider QoS.
There exists, therefore, a need in the art for a resource discovery system for large-scale mobile ad hoc networks that provide resource selection on a QoS-aware basis.